/**
 * 下单页面js
 */
;(function($) {
    $.extend({
        // 打印调试
        debug:function(str){
            console.log('debug:'+str);
        },
        // 非数字处理
        cleanNum:function(num){
            num = parseFloat(num)
            return isNaN(num)?0:num;
        },
        // timer变量，控制时间
        InterValObj:null,
        // 当前剩余秒数 
        curCount:null,
        // 处理倒计时的按钮的id 
        timerBtnId:'hq_dl_yzm_btn',
        // timer处理函数
        SetRemainTime:function(o){
            if($.curCount == 0) {
                window.clearInterval($.InterValObj);//停止计时器
                $('#'+$.timerBtnId).removeAttr('disabled');//启用按钮
                $('#'+$.timerBtnId).text('重新发验证码');
            }else{
                $.curCount--;
                $('#'+$.timerBtnId).text($.curCount + 's后重新获取');
            }
        },
        // 体检卡金额验证
        useTjkYz:function(){
            var tjk = parseInt($('#sytjk_s').text());
            var cur = parseInt($('#cur_use_tj_card_yy').val());
            var allow_je = parseInt($('.max_ye_em').text());
            if(cur>allow_je && tjk <= 0){
                $('#cur_use_tj_card_yy').val(allow_je);
                zk_alert_msg('本次最高只能优惠'+allow_je);
                return;
            }
            $.useTjCard();
        },
        // 当前打开常用体检人的标识
        currDivBz:0,
        // 当前年份
        currYear : (new Date()).getFullYear(),
        // 结束年份
        endYear : (new Date()).getFullYear()+1,
        // 时间控件的配置项
        opt : {
            preset:'date',
            limit:limit,//限制条件
            dateFormat: 'yyyy-mm-dd',
            startYear: $.currYear,  //开始年份
            endYear: $.endYear,     //结束年份
            onSelected:function(dw,time,i,sender){
                console.log(sender);
            }
        },
        // 验证手机的方法
        checkMobFun:zk_verify_mobile,
        // 验证身份证的方法
        checkIdCardFun:zk_check_cardno,
        // 体检人信息验证相关
        curCheckInput:null,
        curCheckMsg:'请确认已填写完整的信息，才能提交订单！',
        // 订单发送使用体检卡已经验证登录的方法
        sendCodeToMob:function(url,data,o){
            $.ajax({
                url:url,
                dataType:'json',
                data:data,
                success:function(res){
                    zk_alert_msg(res.msg,0);
                    if(res.status == 1){
                        $.curCount = 59;
                        //设置button效果，开始计时
                        o.attr('disabled', 'true');
                        o.text($.curCount + 's后重新获取');
                        $.InterValObj = window.setInterval($.SetRemainTime, 1000); //启动计时器，1秒执行一
                    }
                    return;
                }
            });
        },

        // 表单验证相关
        checkFormFuns:function(){
            var curCheckBz = true;
            // 验证体检人的信息
            $('div.tjr_yyxx_div input[placeholder]').each(function(){
                // 验证非空
                if($(this).val() == ''){
                    $.curCheckInput = $(this);
                    $.curCheckMsg = $(this).attr('placeholder');
                    curCheckBz = false;
                    return false;
                }
                // 是否要验证合法性
                var yzbs = $(this).attr('data-checkfun');
                var check_res = true;
                if(yzbs == 'check_sj'){
                    check_res = $.checkMobFun($(this).val());
                }/*else if(yzbs == 'check_sfz'){
                    // 必须是验证身份证的
                    if($(this).prev().val() == '0'){
                        check_res = $.checkIdCardFun($.trim($(this).val()));    
                    }
                }*/
                if( ! check_res){
                    $.curCheckInput = $(this);
                    $.curCheckMsg = $(this).attr('data-checkfun_msg');
                    curCheckBz = false;
                    return false;
                }
            });
            if( ! curCheckBz){
                return false;
            }
            // 验证预定人手机的信息
            var ydr_mob = $('#ydrMob').val();
            if(ydr_mob == ''){
                $.curCheckInput = $('#ydrMob');
                $.curCheckMsg = '请输入预订人的手机号码用于接收预约短信';
                return false;
            }
            if( ! $.checkMobFun(ydr_mob)){
                $.curCheckInput = $('#ydrMob');
                $.curCheckMsg = '请输入正确的预订人手机号码用于接收预约短信';
                return false;
            }
            return curCheckBz;
        },

        // 体检卡的相关函数
        initTjkFunc:function(){
            // 体检卡切换
            $('#use_tjk_ul a').on(eventMap('click'),function(e){
                e.preventDefault();
                $('.tjk_m').find('span').html($(this).text()).end().find('em').html($(this).attr('data-ye'));
                $(this).addClass('cur').parent().siblings().find('a').removeClass('cur');
                $.useTjCard();
            });
            // 打开使用体检卡的页面
            $('#use_tjk_a').on(eventMap('click'),function(e){
                $.useTjCard();
            });
            // 输入使用金额验证
           /* $('#cur_use_tj_card_yy').on('blur',function(e) {
                e.preventDefault();
                $.useTjkYz();
            });*/
            // 输入使用金额验证
            $('#cur_use_tj_card_yy').on('input',function(e) {
                e.preventDefault();
                $.useTjkYz();
            });
            // 点击获取验证码
            $('#hq_tjk_yzm_btn').click(function(e) {
                e.preventDefault();
                if($('#cur_use_tj_card_yy').val() == ''){
                    zk_alert_msg('请输入本次使用体检卡金额');return;
                }
                var tjk_id = $('#use_tjk_ul .cur').attr('data-tjk_id');
                if(tjk_id == ''){
                    zk_alert_msg('非法访问');return;
                }
                if($.InterValObj && $.curCount > 0){
                    alert('还在周');
                    return;
                }
                var o = $(this);
                $.timerBtnId = 'hq_tjk_yzm_btn';
                var url = '/Share/send_verify_code_to_user_mob';
                var data = {'type':1,'tjk_id':tjk_id};
                $.sendCodeToMob(url,data,o);
            });
            // 使用体检卡
            $('#tjk_sy_id').click(function(event) {
                // 在线实付款为0时可以不用打开
                var zxsf_span = parseInt($('#zxsf_span').text());
                var tjk = parseInt($('#sytjk_s').text());
                if(zxsf_span <= 0 && tjk <= 0){
                    zk_alert_msg('本单在线实付款金额为0，不需要再额外使用体检卡了！');
                    return;
                }
                var syje = $('#cur_use_tj_card_yy').val();
                if(syje == ''){
                    zk_alert_msg('请输入本次使用多少');return;
                }
                syje = parseInt(syje);
                var max_ye_em = parseInt($('.max_ye_em').html());
                if(syje > max_ye_em){
                    $('#cur_use_tj_card_yy').val(max_ye_em);
                    zk_alert_msg('本次最高只能优惠'+max_ye_em);
                    return;
                }
                var tjk_yzm_txt = $('#tjk_yzm_txt').val();
                if(tjk_yzm_txt == ''){
                    zk_alert_msg('请输入手机上收到的验证码');return;
                }
                $.ajax({
                    url:'/Share/check_user_receive_mob_code',
                    dataType:'json',
                    data:{'type':1,'yzm':tjk_yzm_txt},
                    success:function(res){
                        if(res.status == 1){
                            $('#use_tjk_a em').html('-'+(syje.toFixed(2)));
                            $('#sytjk_s').html(syje.toFixed(2));
                            $('#hide_tj_card_id').val($('#use_tjk_ul .cur').attr('data-tjk_id'));
                            $('#hide_use_tj_card_fee').val(syje);
                            $.setPageOrderFee();
                            $('#use_tjk_btn_close').trigger(eventMap("click"));
                        }else{
                            zk_alert_msg(res.msg, 0);
                        }
                        return;
                    }
                });
            });
        },
        // 使用体检卡
        useTjCard:function(){
            var balance = $('#use_tjk_ul a.cur').attr('data-ye');
            //var balance = $('.tjk_m em').html();
            var cur_dd_zxsfk = parseInt($('#zxsf_span').html());
            var tjk = parseInt($('#sytjk_s').text());
            cur_dd_zxsfk = cur_dd_zxsfk + tjk;
            var min = 0;
            if(balance){
                balance = parseFloat(balance);
                //cur_dd_zxsfk = parseFloat(cur_dd_zxsfk);
                min = Math.min(balance,cur_dd_zxsfk);
            }
            $('.max_ye_em').html(min.toFixed(2));
        },

        // 优惠券的相关函数
        initYhqFunc:function(){
            // 可用不可用优惠券列表切换
            $('#use_yhq_ul a').on(eventMap('click'),function(e){
                e.preventDefault();
                var fl =$(this).addClass('cur').parent();
                fl.siblings().find('a').removeClass('cur');
                if(fl.index() == 0){
                    fl.parent().next().show().next().hide();
                }else{
                    fl.parent().next().hide().next().show();
                }
            });
            // 使用优惠券
            $('#yhq_sy_id').on(eventMap('click'),function(e){
                e.preventDefault();
                var zxsf_span = parseInt($('#zxsf_span').html());
                var yhq = parseInt($('#syyhq_s').text());
                if(zxsf_span <= 0 && yhq <= 0){
                    zk_alert_msg('本单在线实付款金额为0，不需要再额外使用优惠券了！');
                    return;
                }
                var radio = $(':radio[name=use_yhq_radio]:checked');
                if(radio.size() == 0){
                    zk_alert_msg('请选择要使用的优惠券');return;
                }
                var je = $.cleanNum(radio.attr('data-use_price')).toFixed(2);
                $('#use_yhq_a em').html('-'+je);
                $('#syyhq_s').html(je);
                $('#sy_yhq_qh').val(radio.val());
                $.setPageOrderFee();
                $('#use_yhq_btn_close').trigger(eventMap("click"));
            });
            // 点击选中优惠券
            $(document).on(eventMap("click"),"[for^='use_yhq_radio']",function(){
                var c = $(this).find("input[type='radio']")[0];
                c.checked=true;
            });
        },
        // 体检人信息的相关函数
        initLxrFunc:function(){
            // 身份证4分位
            /*$('[data-checkfun=check_sfz]').on('blur',function(e){
               var str = $(this).val();
                str = str.replace(/[-]+/g,'');
                var a = str.substring(0,4);
                var b = str.substring(4,8);
                var c = str.substring(8,12);
                var d = str.substring(12,16);
                var e = str.substring(16,18);
                var newstr = a + '-' + b + '-' + c + '-' + d + '-' + e;
                $(this).val(newstr);
            });*/
            // 同步填写
            $(document).on('change','input[name^=tjr_sj]',function(e){
                $('#ydrMob').val($(this).val());
            }).on("keyup",'input[name^=tjr_sj]',function(){
                //应用一次改变
                $(this).change();
            });
            // 设置常用体检人的标识容器
            $('.cytjr_a').on(eventMap('click'),function(e){
                e.preventDefault();
                var if_login = $('#if_login').val();
                if(if_login == '0'){
                    zk_alert_msg('手机验证登录后可以使用常用体检人',0);return;
                }
                $.currDivBz = $(this).attr('data-div_bz');
            });
            // 常用联系人
            $('#cytjr_div .tjr-list a').on(eventMap('click'),function(e){
                e.preventDefault();
                var parent = $('#tjr_xx_div_'+$.currDivBz);
                var sj = $(this).attr('data-ydrmob');
                $(':text[name^=tjr_name]',parent).val($(this).attr('data-name'));
                $('input[name^=tjr_sj]',parent).val(sj);
                $('.ord_bg a:first',parent).click();
                $(':text[name^=tjr_sfz_lx]',parent).val('0');
                $(':text[name^=tjr_sfz]',parent).val($(this).attr('data-tjrsfz'));
                $('#ydrMob').val(sj);
                $('#cytjr_btn_close').trigger(eventMap("click"));
            });
            // 选择收货地址
            $(document).on(eventMap('click'),'#shdz_div .tjr-list a',function(e){
                e.preventDefault();
                $('#sheng_id').val($(this).attr('data-sheng_id'));
                $('#shi_id').val($(this).attr('data-shi_id'));
                $('#xian_id').val($(this).attr('data-xian_id'));
                var fan = $(this).attr('data-full_addr');
                var ba = $(this).attr('data-address');
                $('#shdz').val(fan + ' ' + ba);
                $('#bgt_addr').val(ba);
                $('#full_area_name').val(fan);
                $('#shdz_btn_close').trigger(eventMap("click"));
            });
            // 添加新地址
            $('#btn_add_addr').on(eventMap('click'),function(){
                var sheng_id = $('#pub_sheng_id').val();
                var shi_id = $('#pub_shi_id').val();
                var xian_id = $('#pub_xian_id').val();
                var jddz = $('#pub_jddz').val();
                if(sheng_id == '0' || shi_id == '0' || jddz == ''){
                    zk_alert_msg('请选择所在城市以及填写详细收货地址', 0);
                    return;
                }
                var sheng_name = $('#pub_sheng_id').find('option:selected').text();
                var shi_name = $('#pub_shi_id').find('option:selected').text();
                var xian_name = $('#pub_xian_id').find('option:selected').text();
                $("#pub_sheng_name").val(sheng_name);
                $("#pub_shi_name").val(shi_name);
                $("#pub_xian_name").val(xian_name);
                var post_data = $('#add_sjdz_form').serialize();
                $.ajax({
                    type:'post',
                    url:'/Share/do_add_user_address',
                    dataType:'json',
                    data:post_data,
                    success:function(res){
                        if(res.status == 1){
                            var html = '<li><a data-sheng_id="'+sheng_id+'" data-shi_id="'+shi_id+'" data-xian_id="'+xian_id+'" ';
                            html += ' data-address="'+jddz+'" data-full_addr="'+res.full_addr+'" href="javascript:;">';
                            html += res.full_addr+'&nbsp;&nbsp;'+jddz+'<i>使用</i></a></li>s';
                            $('#shdz_div .tjr-list').append(html);
                        }else{
                            zk_alert_msg(res.msg, 0);
                        }
                        return;
                    }
                });
            });
        },
        // 验证的相关函数
        initCheckFunc:function(){
            // 订单提交验证
            $('#btn_submit_order').on(eventMap('click'),function(e){
                e.preventDefault();
                var if_login = $('#if_login').val();
                // 验证手机登录
                if(if_login == 0){
                    // 未登录的时候验证
                    var check_mob = $('#check_mob').val();
                    var txt_check_code = $('#txt_check_code').val();
                    if(check_mob == ''){
                        zk_alert_msg('请输入要验证的手机号码');
                        $('#check_mob').focus();return;
                    }
                    if( ! $.checkMobFun(check_mob)){
                        zk_alert_msg('请填写正确的手机号码');
                        $('#check_mob').focus();return;
                    }
                    if(txt_check_code == ''){
                        zk_alert_msg('请输入收到的验证码');
                        $('#txt_check_code').focus();return;
                    }
                    // 保存之前填写的数据
                    $.setCacheFunc('#order_form');
                    $.ajaxSettings.async = false;
                    $.ajax({
                        url:'/Share/check_user_receive_mob_code',
                        dataType:'json',
                        data:{'type':2,'yzm':txt_check_code,'check_mob':check_mob},
                        success:function(res){
                            if(res.status == 1){
                                location.reload();
                            }else{
                                zk_alert_msg(res.msg,0);
                            }
                            return;
                        }
                    });
                    return;
                }
                // 验证是否重复提交
                if($('#if_submit').val() == '1'){
                    zk_alert_msg('您的订单已经提交过了，系统正在为您处理，请耐心等候！',0);
                    return;
                }
                // 表单验证
                if( ! $.checkFormFuns()){
                    zk_alert_msg($.curCheckMsg);
                    $.curCheckInput.focus();
                    return;
                }
                // 验证是否是基因套餐
                if($('#has_jy_combo').val() == '1'){
                    var bgt_addr = $('#bgt_addr').val();
                    if(bgt_addr == ''){
                        zk_alert_msg('请选择收货地址!');
                        $('#shdz').click();return;
                    }
                }
                // 设置标识以及清空cookie
                $('#if_submit').val('1');
                window.localStorage["form_tmp_data"] = '';
                $.ajax({
                    type: 'POST',
                    url: '/Order/do_ajax_orders.html',
                    dataType: 'json',
                    async: false,
                    data: $('#order_form').serialize(),
                    success : function(res){
                        if (res.status == 1){
                            var href = window.location.href;
                            href = '/Order/ok_order?oid='+res.oid+'&gobackurl='+encodeURIComponent(href);
                            location.href = href;
                        }else{
                            $('#if_submit').val('0');
                            alert(res.msg);
                        }
                        return;
                    }
                });
            });
        },
        // 其它的相关函数
        initOtherFunc:function(){
            // 选择体检时间
            $('[id^=tj_time]').each(function(){
                var limit= $.parseJSON($(this).attr("data-limit"));
                $.opt.limit=limit;
                $(this).mobiscroll($.opt);
            });
            // 体检时间框获取焦点
            $(".rq").on("click",function(e){
                //mobiscroll插件是使用焦点事件事弹出日期选择框，
                //所以这里要通过手动来触发该事件
                e.preventDefault();
                $(this).prev().focus();
            });
            // 下拉选择身份证类型、支付方式
            $('.ord_bg a,.pay_bg a').on(eventMap('click'),function(e){
                var fl = $(this).parent().hide();
                var text = $(this).text();
                if(text == '在线支付'){
                    // 可以使用优惠券和体检卡
                    $('#use_yhq_a').attr('data-role','drawer');
                    $('#use_tjk_a').attr('data-role','drawer');
                    // 在线支付
                    $('#dyyf_s').html('0.00');
                    $('#zxyf_s').html($('#zxyf_s').attr('data-old_zxje'));
                    // 微信优惠立减
                    $('#wxyhlj_s').html($('#wxyhlj_s').attr('data-je'));

                    var tmp_je = $.cleanNum($('#hbfx_s').attr('data-je'));
                    $('#hbfx_s').html(tmp_je.toFixed(2));
                    fl.siblings('.youhui').show();
                    $.setPageOrderFee();
                }
                if(text == '到院现付'){
                    // 不能使用优惠券和体检卡
                    $('#use_yhq_a').attr('data-role','_drawer');
                    $('#use_tjk_a').attr('data-role','_drawer');
                    // 到院支付
                    $('#dyyf_s').html($('#ddzy_s').attr('data-je'));
                    $('#zxyf_s').html('0.00');
                    // 红包
                    $('#hbfx_s').html('0.00');
                    fl.siblings('.youhui').hide();
                    // 优惠券
                    $('#use_yhq_a em').html('未使用');
                    $('#syyhq_s').html('0.00');
                    $('#sy_yhq_qh').val('');
                    // 体检卡
                    $('#use_tjk_a em').html('未使用');
                    $('#sytjk_s').html('0.00');
                    $('#hide_tj_card_id').val('0');
                    $('#hide_use_tj_card_fee').val('0');
                    // 微信优惠立减
                    $('#wxyhlj_s').html('0.00');
                    $.setPageOrderFee();
                }
                fl.siblings('.sfz').removeClass('cur').html(text);
                fl.siblings(':hidden').val($(this).attr('data-val'));
                $(this).addClass('ord_cur').siblings().removeClass('ord_cur');
            });
            // 选择性别、婚否
            $('.ord_sex').on(eventMap('click'),function(e){
                e.preventDefault();
                $(this).siblings('span').html($(this).attr('data-str'));
                $(this).siblings(':input').val($(this).attr('data-val'));
                $(this).hide().siblings('a').show();
            });
            // 查看金额明细
            $('.fl_pic').on(eventMap('click'),function(e){
                e.preventDefault();
                var img = $(this).find('img');
                if(img.attr('src') == 'Public/mobile/images/zsk_xiala.png'){
                    $(this).siblings('.ord_pic').slideDown();
                    img.attr('src','Public/mobile/images/zsk_xiala2.png');
                }else{
                    $(this).siblings('.ord_pic').slideUp();
                    img.attr('src','Public/mobile/images/zsk_xiala.png');
                }
            });
            // 手机验证登录验证码获取
            $('#hq_dl_yzm_btn').click(function(e) {
                e.preventDefault();
                var check_mob = $('#check_mob').val();
                if(check_mob == ''){
                    zk_alert_msg('请输入要验证的手机号码');
                    $('#check_mob').focus();return;
                }
                if( ! $.checkMobFun(check_mob)){
                    zk_alert_msg('请填写正确的手机号码');
                    $('#check_mob').focus();return;
                }
                if($.InterValObj && $.curCount > 0){
                    alert('还在周');
                    return;
                }
                var o = $(this);
                $.timerBtnId = 'hq_dl_yzm_btn';
                var url = '/Share/send_verify_code_to_user_mob';
                var data = {'type':2,'check_mob':check_mob};
                $.sendCodeToMob(url,data,o);
            });
        },
        // 页面初始化的设置
        initPageDefaultSet:function(){
            // 设置默认性别
            $('[name^=tjr_xb]').each(function(){
                var xb = $(this).val();
                if(xb=='1'){
                    $(this).prev().show().prev().hide().prev().html('男');
                }else{
                    $(this).prev().hide().prev().show().prev().html('女');
                }
            });
            // 设置默认婚否
            $('[name^=tjr_hf]').each(function(){
                var hf = $(this).val();
                if(hf=='1'){
                    $(this).prev().show().prev().hide().prev().html('已婚');
                }else{
                    $(this).prev().hide().prev().show().prev().html('未婚');
                }
            });
            // 设置身份证类型
            $('[name^=tjr_sfz_lx]').each(function(){
                var lx = $(this).val();
                $(this).siblings('.ord_bg').find('a:eq('+lx+')').click();
            });            
            // 使用优惠券为空
            $('#sy_yhq_qh').val('');
            // 使用体检卡为空
            $('#hide_tj_card_id').val('0');
            $('#hide_use_tj_card_fee').val('0');
            // 重复提交为空
            $('#if_submit').val('0');
        },
        // 默认的初始设置
        initDefaultValue:function(){
            $.getCacheFunc();           //  获取临时输入的数据
            $.initPageDefaultSet();     //  页面初始化的设置
            $.setPageOrderFee();        //  设置页面上各种的金额
            $.checkFormFuns();          //  验证表单的函数
            $.useTjCard();              //  设置体检卡
        },
        // 设置页面初始化的金额
        setPageOrderFee:function(){
            // 在线预付款
            var yfk = $.cleanNum($('#zxyf_s').attr('data-je'));
            if(yfk){
                $('#zxsf_span').html(yfk.toFixed(2));
            }else{
                // 订单总额
                var ddzy = $.cleanNum($('#ddzy_s').attr('data-je'));
                // 使用优惠券
                var syyhq = $.cleanNum($('#syyhq_s').html());
                // 红包返现
                var hbfx = $.cleanNum($('#hbfx_s').html());
                // 使用体检卡
                var sytjk = $.cleanNum($('#sytjk_s').html());
                // 组合优惠
                var zhyh = $.cleanNum($('#zhyh_s').attr('data-je'));
                // 微信立减优惠
                var wxyhlj = $.cleanNum($('#wxyhlj_s').html());
                // 到院应付
                var dyyf = $.cleanNum($('#dyyf_s').attr('data-je'));
                // 在线实付
                var zxsfd = ddzy - syyhq - hbfx - sytjk - zhyh - wxyhlj - dyyf;
                if(zxsfd <= 0){
                    $('#zxsf_span').html('0.00');
                }else{
                    $('#zxsf_span').html(zxsfd.toFixed(2));
                }
            }
        },
        // 设置临时的用户数据
        setCacheFunc:function(form_bz){
            var data = $(form_bz).serialize();
            window.sessionStorage["form_tmp_data"] = data;
        },
        // 赋值临时的用户数据
        getCacheFunc:function(){
            var data = window.sessionStorage["form_tmp_data"];
            if(data){
                var js = data.split('&');
                for(var i in js){
                    var tmp_js = decodeURI(js[i]); 
                    var ab = tmp_js.split('=');
                    var o = $('[name="'+ab[0]+'"]');
                    var type = o.attr('type');
                    if(type == 'radio'){
                        $('[name="'+ab[0]+'"][value="'+ab[1]+'"]').click()
                    }else if(type == 'hidden'){
                        if(ab[0] != 'if_login' && ab[0] != 'if_submit'){
                            $('[name="'+ab[0]+'"]').val(ab[1]);
                        }
                    }else{
                        $('[name="'+ab[0]+'"]').val(ab[1]);
                    }
                }
            }
        },
        sj_order:function(){
            $.initYhqFunc();        // 优惠券的相关函数
            $.initTjkFunc();        // 体检卡的相关函数
            $.initLxrFunc();        // 体检人信息的相关函数
            $.initCheckFunc();      // 验证的相关函数
            $.initOtherFunc();      // 其它的相关函数
            $.initDefaultValue();   // 默认值设置
        }
    });
})(jQuery);